#include "common.hpp"

int main()
{
    // 1.以读方式打开命名管道
    int rfd = open(pipename.c_str(), O_RDONLY);
    if (rfd < 0)
    {
        std::cerr << errno << ":" << strerror(errno) << std::endl;
        return 1;
    }
    // std::cout << "open fifo success!!" << std::endl;

    //2.读取管道中的数据
    char buf[NUM] = {0};
    while (true)
    {
        int cnt = read(rfd, buf, sizeof(buf));
        if (cnt > 0)
        {
            buf[cnt] = '\0';
            std::cout << "message from client: " << buf << std::endl;
        }
        else if (cnt == 0)
        {
            std::cout << "通信结束" << std::endl;
            break;
        }
        else
        {
            return 1;
        }
    }

    // char buf[NUM] = {0};
    // std::cout << "wait read..." << std::endl;
    // int cnt = read(rfd, buf, sizeof(buf));
    // std::cout << "read success!!" << std::endl;

    // if (cnt > 0)
    // {
    //     buf[cnt] = '\0';
    //     std::cout << "I am B, message from A: " << buf << std::endl;
    // }
    // else if (cnt == 0)
    // {
    //     std::cout << "通信结束" << std::endl;
    // }
    // else
    // {
    //     return 1;
    // }

    // 3.关闭读端
    close(rfd);

    return 0;
}